[이코테-구현]_시각


문제 설명

정수 N(시간)를 입력받아 3이 있는 시간의 개수를 모두 세어서 출력하면 되는 문제이다.

My Solution

h = int(input())
cnt = 0

for i in range(h + 1):
    for j in range(60):
        for k in range(60):
            if '3' in str(i) + str(j) + str(k):
                cnt += 1

print(cnt)

문제 풀이

  • 완전 탐색으로 시, 분, 초를 string 형으로 묶어 그 중 3이 들어있다면 cnt 변수를 카운트해주면 쉽게 풀렸다.
  • 또한, 완전 탐색의 시간 효율은 좋지 않으므로 데이터가 100만개 이하라면 완전 탐색을 이용해 볼 만하다.
  • 시간은 24*60*60 으로 즉, 86400 가지 이므로, 시간 제한이 1~2 초인 알고리즘 테스트에서 완전 탐색을 써도 무방한 시간이므로 완전 탐색을 이용하였다.

Hello, I'm@nickhealthy
개발자를 꿈꾸고, 파이썬과 클라우드에 관심이 많은 비전공자

Github